Cookie and Session
餅乾開會!
幹訓時有說到,網址會送到DNS轉成IP連過去 所以透過網址,我們已經定位到伺服器了
只是這個伺服器可能不只提供網頁服務,還有可能有檔案管理、遊戲運算 8啦888…
而且對伺服器而言,一個伺服器也不可能只連一台用戶端
L4--TCP/UDP:找到應用程式!
TCP的好處:
Connection-Oriented(連結導向)
Reliable(可靠性)
Flow Control(流量控制)
UDP的好處:
- 快
在網址後面會出現的,冒號後的這串數字
就是埠(ㄅㄨˋ)口號碼(port number) 對於我們用戶端而言,用來確認伺服器的「服務項目」 對伺服器而言,則可以用來確定「應用程式」!
- 0~1024 :讓各種協定使用的保留號
- 1025~49151 :可以到IANA(網際網路號碼分配局)註冊
- 49152~65535:是動態分配用的保留號
TCP與UDP都有使用埠號、格式/範圍也相同,且同樣由IANA管理 口語上默認講到「埠號」都是先想到tcp埠
在傳訊息之前能夠以號碼分辨不同的程式了! UDP所需要的資訊也大概如此
但如果咱得保證訊息的順序也正確呢…?
會議(session)
建立連線! TCP--三次握手(3-way handshake)
在連線建立後,各種APP就可以透過session ID確定是哪個程式在何時傳了什麼~
斷開連結! TCP--四次分手(4-way handshake)
L7--簡單帶到:關於http
至此,我們有一個穩定的連線可以傳「訊息」了 而L7的內容也很直接,就是規定這「訊息」要是什麼格式?
而大家都知道http是連接網頁用的 它就是規定了各種的文件tag,最終被包裝成我們熟知的HTML等格式和語言~
在連線的部分,L4的TCP/UDP給的port number保留了讓不同應用使用的號碼 而http的預設埠號是:80
但基於安全考慮,網頁伺服器通常會用埠口轉發(port forwarding)等等方式,叫伺服器不要直接收:80的資料,而是把連線轉到其他的埠口,再由該埠口傳送資料
找得到主機了、找得到程式了、有文件規則了…至此,網路協定5層連線建立完成!
你是誰--電腦與使用者!
現在人手已經不只一個網路設備,一台電腦也甚至可能不只一個使用者會用
在確定連線之上,我們還得處理各個使用者的「個人化」
但http是無狀態(stateless)的協定,對任何時候傳送的訊息都一視同仁
所以即使你要的是同一個網站上的不同頁面,在網路上的兩次請求完全是可以分開看待的
餅乾!
cookie就是一串文字,可以紀錄你目前建立的session ID、瀏覽記錄、點擊連結…(不及備載) 各種“專屬於你的動作”的資訊,都在cookie裡面!
在連到伺服器時,把cookie一起丟出去,這樣伺服器就知道你的設定了
但cookie是不加密直接儲存在瀏覽器裡面的,因此能拒絕盡量拒絕…
電腦如何拿到餅乾?